db = require '../base/db'

Schema = db.Schema
mongoose = db.mongoose
updated_at = db.mongoose_plugins.updated_at

# 组件模型
CompSchema = new Schema
  # 组件ID
  comp_id: String
  # 组件名称
  comp_name: String
  # 组件类型
  comp_type: String
  # 组件类型名
  comp_type_name: String
  # 组件项
  comp_items: Schema.Types.Mixed
  # 接口地址
  api_url: String
  # 接口查询参数
  api_query_params: String
  # 放大镜内容
  zoom: Schema.Types.Mixed
  # 树目录内容
  tree: Schema.Types.Mixed
  # 下拉框内容
  combobox: Schema.Types.Mixed
  # 文件上传内容
  upload:Schema.Types.Mixed
  # 扩展字段
  extra: Schema.Types.Mixed

# 是否自动索引
CompSchema.set('autoIndex', false)
# 设置组件ID为索引
CompSchema.index {comp_id: 1}, {unique: false}
# 设置组件名称为索引
CompSchema.index {comp_name: 1}, {unique: false}
# 设置更新时间
CompSchema.plugin updated_at, {index: true}

# 向外导出模型
module.exports = mongoose.model 's_comps', CompSchema